The Next Thing Co forum has a great thread on how to add a VNC(VPN) client to your PocketCHIP, allowing you to connect and control things remotely from your desktop.
https://bbs.nextthing.co/t/solved-question-on-how-to-access-pocketchip-via-vnc/4915/11
I followed the steps in the thread and it works great. I can now run PocketCHIP install Pico8 on my desktop and do everything I need...mouse even works! I'm not a Linux master by any stretch, so whenever something works as listed, I get excited.
So if you're looking to debug your games on the PocketCHIP without having to constantly switch between devices, this is a nifty way to do it. It doesn't solve the problem/annoyance of having to copy files over to the PocketCHIP but I'm guessing a little network share install would solve that - I'm gonna try that next to see.
Especially since the PocketCHIP version of Pico-8 is way back at 0.1.7, it's getting more difficult to ensure our games actually run on the flagship device (which is a bummer).



Figured I would put this up as WIP for now because I'm not sure if I'm going to put the finishing touches on it. This was intended to be a "quick little game" but it keeps growing and I think I'd rather spend time on a new idea. Anyway...
Fly as far as possible without hitting the walls above/below, and don't get crushed by the spikes behind you. Shooting baddies will build up the floor and ceiling. Enemies that get by you will grow the spikes.
Use Z to shoot. Use X to put on the brakes. Note the limited brake meter at the bottom.
When the brakes are on, bad guys will reduce the walls/spikes when you shoot them.
Collect the little dudes to build up brake time. Collect stars to change weapons.
Given this is a WIP cart, here are things you won't find:
- Sound
- Music
- Alternate color palettes
- A good death transition
- Title screen
- Game over screen
I'll probably come back to this one at some point but might be chill on it for a while...we'll see.
Either way, your feedback is welcomed and thanks for playing.



Anyone already have a function coded for checking to see if an x/y point is inside a rectangle with given points?
They're not "straight" rectangles, they'll be moving so I'm drawing them with 4 x/y points. I've found various formulas for getting the answer but wondering maybe someone had that done already? ...just being lazy... :)



After almost 4 months, I finally received my PocketCHIP today, as it looks like lots of you are recently.
Following the quick setup, I booted up Pico-8 without any problems and started loading up games.
Wow.
What a difference a keyboard can make, huh?
But before that...all our games look awesome on the PCHIP display, it's pretty sharp. All the games I loaded seemed to play fine without any bugs or crashes...at least so far.
Now about that keyboard. Eesh. All the rumors and early reports were true, it's less than great for playing games. So much so that it really has me thinking about how to target my games.
Sure, the PCHIP is just another device but taking in consideration the keyboard when designing/making a game will be difficult. You can't really bank on people having case mods or anything like that. You have to assume anyone with a PCHIP has the off-the-shelf variety and I now see that comes with some serious considerations.
Like I said, all our games play fine but even the "simple" games with minimal controls feel clunky with that keyboard. And for games where you have to hit Z+X to do anything, talk about inconvenient.
Now, given that the PocketCHIP is somewhat of a luxury device with a very limited audience (IMO), making Pico-8 games without taking it into mind is probably safe. Most people will likely play in a web browser so the normal keyboard is a safe bet...but given PCHIPs are landing in mailboxes now, that means more Pico-8 players looking at our games and I know I want mine to feel playable. So I'm kinda bummed but also just try to look at it as another creative solution to overcome with our games.
This is all just first hours of use so some of it is probably pretty rash but hey, that's how I'm feeling right now. But either way, the PocketCHIP seems like a very fun device to play so skies the limit otherwise.
What do the rest of y'all think about this thing?









I admit I haven't explored anything with dates/time in Pico8, so just wondering out loud if there's a way to save a timestamp so that you could use it later and have your game behave like it "did something" during the off time.
For example, hatching an egg. You start the game on Monday and quit. Saves the timestamp. You play the cart again on Thursday. The timestamps are compared to determine how many days/hours/whatever have gone by and routines are run against the egg accordingly...on its way to hatch or something.

How do you draw a trail for a moving object?
I see this effect a ton of games but don't know enough about what to look for to find it in the code. Plus y'all seem to minify code into single letter variable names and that makes it even tougher. ;)
Say I shoot a missile or something, what's a good way to draw a trail behind it? But also define how long that trail is and its color, etc.
I mean, it seems like you should just be able to draw a pixel behind the x/y location of the object you want to follow but how do you know what that location is? Especially if the object is changing direction...it's not just x+1 and y+1 or whatever...I think...
Insight, thoughts and snippets are appreciated.





I've tried to dissect several tweet jam carts but have failed to figure how to move something along a wave pattern.
I want to move a circle between two x/y points in a wave. I know I have to use sin() and cos() but just don't know how to apply them, or to what.
I've done some Googling and even bought myself a "Trig for Dummies" book, so I'm slowly (very slowly) trying to learn math I've never been exposed to. I'm 20+ years removed from my last math class so it's frustrating but I'm motivated.
My specific purpose is bullet patterns but I know once the match clicks, I can use it in all sorts of place and make cool stuff like the rest of y'all.
If there's a simple snippet someone can share that I can look at and dissect it, I would appreciate it. Or any other links/resources they know of.



How to Play
Collect 3 of the same the color power-ups to gain a powerful new weapon.
Shoot the UFO and collect the yellow power-ups to kick off fever mode!
Collect enough fever mode coins to enter a boss battle
This game is endless. Survive as long as you can while chasing a high score.
Controls
Left/Right move
Z shoots your gun (hold for auto-fire)










Are there any disadvantages to drawing single objects with map() rather than spr()?
I want to make a platformer but the ground landscape will change depending on what falls from the sky and lands.
Normally, for things that fall to the ground I'd draw a sprite but since the thing falling will end up being something the player can walk on, and I want to use flags for ground checking, I thought drawing with map would be a valid solution.
But then I also felt that sounded not so good because maps are there to be backgrounds and stuff, right? Something that's not really moving. And also I'm wondering if mget() will work like I want given the x/y could be outside the normal map cel grid.
I mean, if I did something like this, would that be advisable?
obj={x=40,y=0} function _update() obj.y+=1 end function _draw() map(0,0, obj.x,obj.y, 1,1) end |



I've been running through threads trying to find box physics but most of what I find is physics for circles/balls, it seems.
Anybody have a good lead on a physics engine-like thing for squares that I could try to figure out?
My next game idea involves boxes falling to the ground but they need to pile up (and then the player needs to be able to walk/jump on top of them).
I could have the boxes always land on a flat side but thought it would be cooler if they tumble into place and fill in space likes a box would in the real world. Seems like something doable in P8 but I have zero idea on how to start that from scratch, so I need something to get me started.


Got a nice surprise tonight when some friends linked me to PC Gamer where they highlighted BuzzKill and High Climb in their "Free Games of the Week" blog. Very cool...and very cool that folks everywhere are noticing Pico-8 development.
PC Gamer article:
http://www.pcgamer.com/free-games-of-the-week/
Play BuzzKill
https://www.lexaloffle.com/bbs/?tid=3877
Play High Climb
https://www.lexaloffle.com/bbs/?tid=3950
Needless to say, it's the last thing I expected to see for my game...but pretty happy to see it get some attention. And for that I need to thank everyone here for their support in making Pico-8 fun to learn and share.
I was looking at some of the tweet jam carts and noticed some of them use srand() in the loop, so srand() is called A LOT to generate whatever...
I took one of those carts and am firing rnd() when the user presses a button, hoping to get a new random number each button press...but that doesn't seem to be happening.
Without a lot of debugging otherwise, it seems like rnd() spits out the same number each time (ie, not so random)
I figure this is happening because srand() is running almost constantly in the tweet code. Just for shits, I took out the srand() and that solved the rnd() problem but then totally messes up the tweet jam cart.
So I guess I need to find a way to generate a random number that doesn't involved rnd()...? Or find something that avoid having to use srand() so then rnd() will work as expected...?
Just seems like rnd() and srand() is flakey...not sure what to do and/or try.
Any thoughts or insight is appreciated.





Not sure exactly how to phrase this intelligently so...
How do I use the GPIO ports to send and receive data in the web player?
I managed to get a cart together that will send out a score to an endpoint so I can do stuff with it, which is awesome. I used this P8 snippet and it works great.
But I don't really understand what's happening or why...in both the JS and the Pico-8 code. I see a bunch of poke() commands and 256 math stuff but just don't know what they're doing. The P8 manual is pretty light on the GPIO stuff so I'm not sure where else to turn.
I saw someone on Twitter with a demo of a web player cart reading tweets, and that got me thinking about other things I could do with P8 carts if I had the ability to pull down data.
I'm not really looking to make a 2-player network game or anything...just wanting to pass data back and fourth.


The Verge did a quick review of PocketCHIP and while most of it seems to focus on the complexity of Linux as an OS, they do talk about Pico-8. But it's less about Pico-8 as a platform and more so just talking about how using it on the PocketCHIP is quite difficult and unfun. Although, if the buttons are really that "clicky" then I can see how some games will be difficult-ish.
http://www.theverge.com/circuitbreaker/2016/7/19/12227806/pocketchip-review-portable-linux-computer
But I'm not buying it...I'm stoked to get my PocketCHIP and pretty much plan to use it as a Pico-8 handheld device only. I know it's a full Linux PC and that's cool but P8 is primary function for me, everything else secondary. We'll see but I can also tell that I've spent a lot more than $50 on crappier products (or even just for dinner this week).
And hey...Hug Arena pic! Woot!










BuzzKill is a classic arcade style shooter. Stop the onslaught of killer bees using your smoke and fireballs.
Features
- 10 levels of tough, bee-killing action
- High score saving
- Unlockable endless mode
Controls
- Arrows move left/right
- Z shoots fireballs
- X blows smoke
Gameplay
You must clear all bees, hives and honeycombs to advance levels.
Attacking uses power. The more power you have, the faster your shots. Stop firing to regenerate power. Keep an eye on your power meter.
Blow smoke to freeze honeycombs, slow bees and block shots. You can only shoot honeycombs when they're frozen.










I might answer my own question here, but I want to take music from one cart and add it to my cart.
From what I've read, I need to copy the sfx and music sections of Cart A and paste it into Cart B. Easy enough, however, I've already made sound effects for Cart B. Am I correct in expecting that my sounds will get overwritten when I paste in Cart A effects?
Any nice way to import music without clobbering my own sound effects so I don't have to remake them? They're not great or anything, but making sounds is easily the most tedious thing in Pico8 and I'd hate to spend all the time to try and churn them out again.
Or maybe my game just won't have music...always an option...

